package com.example.proyectofc;

import java.io.File;

import org.cocos2d.nodes.CCDirector;

import procesamiento.utilidadesPartida;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class camara extends Activity{

	private ImageView imagenCapturada;
	
	private static final int TOMAR_FOTO = 1;
	private Bitmap imagen;
	private File f = new File(Environment.getExternalStorageDirectory() + 
			"/imagenP" + utilidadesPartida.getDatosPartida().getnPrueba()
			+ ".png");
	private Button encontrado, aceptar;
	private TextView contador;
	
	long tiempo = 60000;
	
	private CountDownTimer cuentaAtras;
	
	Intent camara;
	
	Uri uri;
	
	Intent nuevoIntent;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.camara);
//		imagenCapturada = (ImageView) findViewById(R.id.imageViewCapturada);
		nuevoIntent = new Intent();
		camara = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

		uri = Uri.fromFile(f);
		camara.putExtra(MediaStore.EXTRA_OUTPUT, uri);
		
		contador = (TextView)findViewById(R.id.textViewCuenta);
		
		encontrado = (Button) findViewById(R.id.buttonEncontado);
		
		aceptar = (Button) findViewById(R.id.buttonAceptarImagen);
		
		
		cuentaAtras = new CountDownTimer(tiempo, 1000) {
			 
		     public void onTick(long tiempoRestante) {
		    	 contador.setText(convertirHora(tiempoRestante));
		     }
		 
		     public void onFinish() {
		    	 contador.setText("Se ha acabado el tiempo.");
		    	 nuevoIntent.putExtra("Resultado", "No");
		    	 setResult(RESULT_OK, nuevoIntent);
		    	 finish();
		     }
		  };
		  
		  cuentaAtras.start();
		  
		  encontrado.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				cuentaAtras.cancel();
				startActivityForResult(camara, TOMAR_FOTO);
				onResume();

			}
		});
		  
		  aceptar.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				nuevoIntent.putExtra("Resultado", "Si");
		    	 setResult(RESULT_OK, nuevoIntent);
				finish();
			}
		});
	}
	
	@Override
	public void onPause() {
	    super.onPause();
	    CCDirector.sharedDirector().onPause();
	}
	 
	@Override
	public void onResume()	{
	    super.onResume();
	    CCDirector.sharedDirector().onResume();
	}

	
	@Override
	protected void onSaveInstanceState(Bundle outState) {
		super.onSaveInstanceState(outState);
	    outState.putBoolean("taken", true);
	}

	@Override 
	protected void onActivityResult(int requestCode, int resultCode, 
			Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

		if  (requestCode == TOMAR_FOTO && resultCode == RESULT_OK) {
			if(data != null) {
				if (data.hasExtra("data")) { 
					imagen = (Bitmap) data.getParcelableExtra("data");
					imagenCapturada = (ImageView) findViewById(R.id
							.imageViewCapturada);
					imagenCapturada.setImageBitmap(imagen);
					
				}
			}
			else {
				imagenCapturada = (ImageView) findViewById(R.id
						.imageViewCapturada);
				Bitmap img = BitmapFactory.decodeFile(f.getAbsolutePath());
				imagenCapturada.setImageBitmap(img);
			}
		}
	 }
	
//	@Override
//	public boolean onKeyDown(int keyCode, KeyEvent event) {
//		if(keyCode == KeyEvent.KEYCODE_BACK){
//            finish();
//        }
//	    return true;
//	}	
	
	public String convertirHora(long t) {
		String hora = "";
		int minutos = (int) (t/60000);
		int restoMinutos = (int) (t%60000); 
		
		int segundos = restoMinutos / 1000;
		
		if(minutos < 10 && segundos < 10) 
			hora = "0" + minutos + ": 0" + segundos;
		else if(minutos < 10)
			hora = "0" + minutos + ":" + segundos;
		else if(segundos < 10)
			hora = minutos + ": 0" + segundos;
		return hora;
	}
	
}
